package com.birdboot.util;

import com.alibaba.druid.pool.DruidDataSource;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * 数据库工具类，用于管理数据库链接
 */
public class DBUtil {
    /*
       阿里提供的连接池
       数据库连接池主要有两个作用:
       1:控制连接数量
       2:重用连接
    */
    private static DruidDataSource ds;
    static {
        initDataSource();// 初始化连接池
    }
    private static void initDataSource(){
        ds = new DruidDataSource();
        ds.setUsername("root");
        ds.setPassword("root");
        ds.setUrl("jdbc:mysql://localhost:3306/birddb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true");
        ds.setInitialSize(5);// 连接池的初始容量，创建后内部默认5条连接
        ds.setMaxActive(50);// 设置最大连接数
    }
//        try {
//            // 加载驱动，这个工作仅需一次
//            Class.forName("com.mysql.cj.jdbc.Driver");
//        } catch (ClassNotFoundException e) {
//            e.printStackTrace();
//        }
//    }
    /**
     * 获取一个数据库连接
     * @return
     */
    public static Connection getConnection() throws SQLException {
//        return DriverManager.getConnection(
//                "jdbc:mysql://localhost:3306/birddb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
//                "root",
//                "root"
//        );
        return ds.getConnection();
    }
}
